#pragma once
#include <memory>
#include "OgreFramework.h"

#include "InputManager.h"
#include "MonkeyScene.h"


class Application : public  Ogre::FrameListener
	{
	private:
		bool m_shutdown;
		std::unique_ptr<OgreFramework> mp_ogre;
		std::unique_ptr<InputManager> mp_input_manager;
		std::shared_ptr<MonkeyScene> mp_monkey_scene;
	protected:
		virtual bool frameRenderingQueued(const Ogre::FrameEvent& evt);
	public:
		void Start();
		void Shutdown();
	};